Conflict-free Replicated Data Types